package com.lvy.hczn.front.business.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.lvy.hczn.front.system.domain.business.SortTaskDetail;
import com.lvy.hczn.front.system.domain.business.SpuSortRecord;
import com.lvy.hczn.mq.rocket.ParamInfo;

import java.util.List;

/**
 * 分拣记录，如报损，降级
 *
 * @author yw
 * @date 2022-08-23 11:47:47
 **/
public interface SpuSortRecordService extends IService<SpuSortRecord> {

    /**
     * 货箱临期列表
     *
     * @param paramInfo
     * @return
     */
    List<SpuSortRecord> untreatedList(ParamInfo paramInfo);

    /**
     * 货箱临期首页统计
     *
     * @param paramInfo
     * @return
     */
    List<SpuSortRecord>  untreatedCount(ParamInfo paramInfo);

    /**
     * 平台临期报损出库
     *
     * @param paramInfo
     * @return
     */
    void frmLoss(ParamInfo paramInfo) throws Exception;

    /**
     * 退货入库报损,仓库报损，直接报损，不更新到平台
     *
     * @param paramInfo
     * @return
     */
    void frmLossDone(ParamInfo paramInfo) throws Exception;

    /**
     * 分拣点击缺货时，过滤已临期的商品
     *
     * @param sortTaskDetailInfo
     * @return
     */
    SpuSortRecord selectSortFrmLossBySpu(SortTaskDetail sortTaskDetailInfo);

    SpuSortRecord selectByRecodeCode(SpuSortRecord sortRecord);
}
